package com.flying.invest.strategy.model;

import java.util.Date;

import com.flying.framework.data.Data;
import com.flying.common.util.Codes;
import com.flying.framework.annotation.Param;
import com.flying.framework.data.DataSerializable;
import com.flying.framework.metadata.Meta;

@SuppressWarnings("serial")
@Meta(id="i_strategy_trend_detail",title="趋势策略明细", table="i_strategy_trend_detail", primaryKeys={"detail_id"})
public class StrategyTrendDetail extends Data implements DataSerializable {
	public final static String ENTITY_NAME = "i_strategy_trend_detail";
	
	public final static String DETAIL_ID = "detail_id";
	public final static String USER_ID = "user_id";
	public final static String TYPE_ID = "type_id";
	public final static String INVEST_ID = "invest_id";
	public final static String STRATEGY_ID = "strategy_id";
	public final static String NUM = "num";
	public final static String PRICE_INTERVAL = "price_interval";
	public final static String SUGGEST_BUY_PRICE = "suggest_buy_price";
	public final static String SUGGEST_BUY_AMOUNT = "suggest_buy_amount";
	public final static String SUGGEST_BUY_QUANTITY = "suggest_buy_quantity";
	public final static String BUY_PRICE = "buy_price";
	public final static String BUY_QUANTITY = "buy_quantity";
	public final static String BUY_AMOUNT = "buy_amount";
	public final static String TRANSACTION_ID = "transaction_id";
	public final static String TRANSACTION_DATE = "transaction_date";
	public final static String SUGGEST_SELL_PRICE = "suggest_sell_price";
	public final static String SELL_PRICE = "sell_price";
	public final static String SELL_AMOUNT = "sell_amount";
	public final static String SELL_QUANTITY = "sell_quantity";
	public final static String PRICE = "price";
	public final static String PROFIT = "profit";
	
	
	@Param(value=DETAIL_ID,   required=true,   maxlength=0,	desc="ID" , generator=Codes.AUTO_INCREMENT)
	private Long detailId;
	
	@Param(value=USER_ID,   required=true,   maxlength=0,	desc="所属用户" )
	private Long userId;
	
	@Param(value=TYPE_ID,   required=true,   maxlength=0,	desc="策略类型" )
	private Long typeId;
	
	@Param(value=INVEST_ID,   required=true,   maxlength=0,	desc="投资项目" )
	private Long investId;
	
	@Param(value=STRATEGY_ID,   required=true,   maxlength=0,	desc="策略ID" )
	private Long strategyId;
	
	@Param(value=NUM,   required=true,   maxlength=0,	desc="期数" )
	private Integer num;
	
	@Param(value=PRICE_INTERVAL,   required=true,   maxlength=0,	desc="档位" )
	private Double priceInterval;
	
	@Param(value=SUGGEST_BUY_PRICE,   required=true,   maxlength=0,	desc="建议买入价格" )
	private Double suggestBuyPrice;
	
	@Param(value=SUGGEST_BUY_AMOUNT,   required=false,   maxlength=0,	desc="建议买入金额" )
	private Double suggestBuyAmount;
	
	@Param(value=SUGGEST_BUY_QUANTITY,   required=false,   maxlength=0,	desc="建议买入数量" )
	private Double suggestBuyQuantity;
	
	@Param(value=BUY_PRICE,   required=false,   maxlength=0,	desc="实际买入价格" )
	private Double buyPrice;
	
	@Param(value=BUY_QUANTITY,   required=false,   maxlength=0,	desc="实际买入数量" )
	private Double buyQuantity;
	
	@Param(value=BUY_AMOUNT,   required=false,   maxlength=0,	desc="实际买入金额" )
	private Double buyAmount;
	
	@Param(value=TRANSACTION_ID,   required=false,   maxlength=0,	desc="交易ID" )
	private Long transactionId;
	
	@Param(value=TRANSACTION_DATE,   required=false,   maxlength=0,	desc="网格数量" )
	private Date transactionDate;
	
	@Param(value=SUGGEST_SELL_PRICE,   required=false,   maxlength=0,	desc="建议卖出价格" )
	private Double suggestSellPrice;
	
	@Param(value=SELL_PRICE,   required=false,   maxlength=0,	desc="实际卖出价格" )
	private Double sellPrice;
	
	@Param(value=SELL_AMOUNT,   required=false,   maxlength=0,	desc="实际卖出金额" )
	private Double sellAmount;
	
	@Param(value=SELL_QUANTITY,   required=false,   maxlength=0,	desc="实际卖出数量" )
	private Double sellQuantity;
	
	@Param(value=PRICE,   required=false,   maxlength=0,	desc="市价" )
	private Double price;
	
	@Param(value=PROFIT,   required=false,   maxlength=0,	desc="利润" )
	private Double profit;
	
	
	public Long getDetailId() {
		return this.detailId;
	}
	
	public void setDetailId(Long detailId) {
		this.detailId = detailId;
	}
	
	public Long getUserId() {
		return this.userId;
	}
	
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	
	public Long getTypeId() {
		return this.typeId;
	}
	
	public void setTypeId(Long typeId) {
		this.typeId = typeId;
	}
	
	public Long getInvestId() {
		return this.investId;
	}
	
	public void setInvestId(Long investId) {
		this.investId = investId;
	}
	
	public Long getStrategyId() {
		return this.strategyId;
	}
	
	public void setStrategyId(Long strategyId) {
		this.strategyId = strategyId;
	}
	
	public Integer getNum() {
		return this.num;
	}
	
	public void setNum(Integer num) {
		this.num = num;
	}
	
	public Double getPriceInterval() {
		return this.priceInterval;
	}
	
	public void setPriceInterval(Double priceInterval) {
		this.priceInterval = priceInterval;
	}
	
	public Double getSuggestBuyPrice() {
		return this.suggestBuyPrice;
	}
	
	public void setSuggestBuyPrice(Double suggestBuyPrice) {
		this.suggestBuyPrice = suggestBuyPrice;
	}
	
	public Double getSuggestBuyAmount() {
		return this.suggestBuyAmount;
	}
	
	public void setSuggestBuyAmount(Double suggestBuyAmount) {
		this.suggestBuyAmount = suggestBuyAmount;
	}
	
	public Double getSuggestBuyQuantity() {
		return this.suggestBuyQuantity;
	}
	
	public void setSuggestBuyQuantity(Double suggestBuyQuantity) {
		this.suggestBuyQuantity = suggestBuyQuantity;
	}
	
	public Double getBuyPrice() {
		return this.buyPrice;
	}
	
	public void setBuyPrice(Double buyPrice) {
		this.buyPrice = buyPrice;
	}
	
	public Double getBuyQuantity() {
		return this.buyQuantity;
	}
	
	public void setBuyQuantity(Double buyQuantity) {
		this.buyQuantity = buyQuantity;
	}
	
	public Double getBuyAmount() {
		return this.buyAmount;
	}
	
	public void setBuyAmount(Double buyAmount) {
		this.buyAmount = buyAmount;
	}
	
	public Long getTransactionId() {
		return this.transactionId;
	}
	
	public void setTransactionId(Long transactionId) {
		this.transactionId = transactionId;
	}
	
	public Date getTransactionDate() {
		return this.transactionDate;
	}
	
	public void setTransactionDate(Date transactionDate) {
		this.transactionDate = transactionDate;
	}
	
	public Double getSuggestSellPrice() {
		return this.suggestSellPrice;
	}
	
	public void setSuggestSellPrice(Double suggestSellPrice) {
		this.suggestSellPrice = suggestSellPrice;
	}
	
	public Double getSellPrice() {
		return this.sellPrice;
	}
	
	public void setSellPrice(Double sellPrice) {
		this.sellPrice = sellPrice;
	}
	
	public Double getSellAmount() {
		return this.sellAmount;
	}
	
	public void setSellAmount(Double sellAmount) {
		this.sellAmount = sellAmount;
	}
	
	public Double getSellQuantity() {
		return this.sellQuantity;
	}
	
	public void setSellQuantity(Double sellQuantity) {
		this.sellQuantity = sellQuantity;
	}
	
	public Double getPrice() {
		return this.price;
	}
	
	public void setPrice(Double price) {
		this.price = price;
	}
	
	public Double getProfit() {
		return this.profit;
	}
	
	public void setProfit(Double profit) {
		this.profit = profit;
	}
	

}